
[
  {
    "name": "beastify",
    "description": "Adds a browser action icon to the toolbar. Click the button to choose a beast. The active tab's body content is then replaced with a picture of the chosen beast.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/beastify",
    "manifest_keys": [
      "permissions",
      "browser_action",
      "web_accessible_resources"
    ],
    "javascript_modules": [
      {
        "name": "tabs",
        "apis": [
          "executeScript",
          "sendMessage",
          "query"
        ]
      },
      {
        "name": "extension",
        "apis": [
          "getURL"
        ]
      },
      {
        "name": "runtime",
        "apis": [
          "onMessage"
        ]
      }
    ]
  },  
  {
    "name": "Bookmark it!",
    "description": "A simple bookmark button",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/bookmark-it",
    "manifest_keys": [
      "permissions",
      "browser_action",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "bookmarks",
        "apis": [
          "remove",
          "create",
          "search"
        ]
      },
      {
        "name": "browserAction",
        "apis": [
          "setIcon",
          "onClicked"
        ]
      },
      {
        "name": "tabs",
        "apis": [
          "query",
          "onUpdated",
          "onActivated"
        ]
      }
    ]
  },
  {
    "name": "borderify",
    "description": "Adds a solid red border to all webpages matching mozilla.org.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/borderify",
    "manifest_keys": [
      "content_scripts"
    ],
    "javascript_modules": []
  },
  {
    "name": "chill-out",
    "description": "Show a page action after a period of inactivity. Show cat gifs when the page action is clicked.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/chill-out",
    "manifest_keys": [
      "permissions",
      "page_action",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "alarms",
        "apis": [
          "onAlarm",
          "clearAll",
          "create"
        ]
      },
      {
        "name": "pageAction",
        "apis": [
          "show",
          "hide",
          "onClicked"
        ]
      },
      {
        "name": "tabs",
        "apis": [
          "update",
          "query",
          "onUpdated",
          "onActivated",
          "get"
        ]
      }
    ]
  },
  {
    "name": "commands",
    "description": "Press Ctrl+Shift+Y to send an event (Command+Shift+Y on a Mac).",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/commands",
    "manifest_keys": [
      "commands",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "commands",
        "apis": [
          "getAll",
          "onCommand"
        ]
      }
    ]
  },
  {
    "name": "context-menu-demo",
    "description": "Demonstrates various features of the contextMenus API.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/context-menu-demo",
    "manifest_keys": [
      "permissions",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "contextMenus",
        "apis": [
          "create",
          "onClicked",
          "update",
          "remove"
        ]
      },
      {
        "name": "i18n",
        "apis": [
          "getMessage"
        ]
      },
      {
        "name": "runtime",
        "apis": [
          "lastError"
        ]
      },
      {
        "name": "tabs",
        "apis": [
          "executeScript"
        ]
      }
    ]
  },
  {
    "name": "favourite-colour",
    "description": "An example options ui",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/favourite-colour",
    "manifest_keys": [
      "permissions",
      "browser_action",
      "options_ui",
      "background",
      "storage"
    ],
    "javascript_modules": [
      {
        "name": "browserAction",
        "apis": [
          "onClicked"
        ]
      },
      {
        "name": "runtime",
        "apis": [
          "openOptionsPage"
        ]
      },
      {
        "name": "storage",
        "apis": [
          "StorageArea/get",
          "StorageArea/set"
        ]
      }
    ]
  },
  {
    "name": "inpage-toolbar-ui",
    "description": "Adds a browser action icon to the toolbar. Click the button to inject an in-page toolbar UI into the current webpage.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/inpage-toolbar-ui",
    "manifest_keys": [
      "permissions",
      "browser_action",
      "content_scripts",
      "web_accessible_resources",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "runtime",
        "apis": [
          "getURL",
          "onConnect",
          "onMessage"
        ]
      },
      {
        "name": "browserAction",
        "apis": [
          "onClicked"
        ]
      },
      {
        "name": "tabs",
        "apis": [
          "sendMessage",
          "query"
        ]
      }
    ]
  },
  {
    "name": "latest-download",
    "description": "Shows the last downloaded item, and lets you open or delete it.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/latest-download",
    "manifest_keys": [
      "permissions",
      "browser_action"
    ],
    "javascript_modules": [
      {
        "name": "downloads",
        "apis": [
          "getFileIcon",
          "search",
          "open",
          "removeFile",
          "erase"
        ]
      },
      {
        "name": "runtime",
        "apis": [
          "lastError"
        ]
      }
    ]
  },
  {
    "name": "notify-link-clicks-i18n",
    "description": "Shows a notification when the user clicks on links.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n",
    "manifest_keys": [
      "permissions",
      "content_scripts",
      "default_locale",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "i18n",
        "apis": [
          "getMessage"
        ]
      },
      {
        "name": "notifications",
        "apis": [
          "create"
        ]
      },
      {
        "name": "extension",
        "apis": [
          "getURL"
        ]
      },
      {
        "name": "runtime",
        "apis": [
          "onMessage",
          "sendMessage"
        ]
      }
    ]
  },
  {
    "name": "open-my-page-button",
    "description": "Adds browser action icon to toolbar to open packaged web page.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/open-my-page-button",
    "manifest_keys": [
      "browser_action",
      "background"
    ],
    "javascript_modules": [
      {
        "name": "browserAction",
        "apis": [
          "onClicked"
        ]
      },
      {
        "name": "tabs",
        "apis": [
          "create"
        ]
      },
      {
        "name": "extension",
        "apis": [
          "getURL"
        ]
      }
    ]
  },
  {
    "name": "page-to-extension-messaging",
    "description": "Visit https://mdn.github.io/webextensions-examples/content-script-page-script-messaging.html for the demo.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/page-to-extension-messaging",
    "manifest_keys": [
      "content_scripts"
    ],
    "javascript_modules": []
  },
  {
    "name": "quicknote",
    "description": "Allows the user to make quick notes by clicking a button and entering text into the resulting popup. The notes are saved in storage.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/quicknote",
    "manifest_keys": [
      "storage",
      "browser_action"
    ],
    "javascript_modules": [
      {
        "name": "storage",
        "apis": [
          "StorageArea/get",
          "StorageArea/set",
          "StorageArea/remove",
          "StorageArea/clear"
        ]
      }
    ]
  },
  {
    "name": "tabs-tabs-tabs",
    "description": "A list of methods you can perform on a tab.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs",
    "manifest_keys": [
      "browser_action"
    ],
    "javascript_modules": [
      {
        "name": "tabs",
        "apis": [
          "query",
          "move",
          "duplicate",
          "reload",
          "remove"
        ]
      }
    ]
  },
  {
    "name": "user-agent-rewriter",
    "description": "Adds browser action icon to toolbar to choose user agent string from popup menu.",
    "url": "https://github.com/mdn/webextensions-examples/tree/master/user-agent-rewriter",
    "manifest_keys": [
      "browser_action",
      "background",
      "permissions"
    ],
    "javascript_modules": [
      {
        "name": "webRequest",
        "apis": [
          "onBeforeSendHeaders"
        ]
      },
      {
        "name": "extension",
        "apis": [
          "getBackgroundPage"
        ]
      }
    ]
  }
]
